#include "sqlist.h"


Sql_list * init_list(void)          //初始化
{
    Sql_list *L = (Sql_list *)malloc(sizeof(Sql_list));
    if (L == NULL)
    {
        printf("创建失败\n");
        return NULL;
    }
    return L;
}

int insert_list(Sql_list * L, Stu_t data)           //插入数据（尾插）
{
    if (L == NULL)
    {
        printf("表为空\n");
        return -1;
    }
    if (L->len >= MAX)
    {
        printf("表满");
        return -1;
    }
    L->S[L->len] = data;
    L->len++;
    return 0;
}

void printf_list(Sql_list *L)           //打印
{
    for (int i = 0; i < L->len; i++)
    {
        printf("姓名 :%s\t",L->S[i].name);
        printf("性别 :%s\t",L->S[i].sex);
        printf("年龄 :%d\t",L->S[i].age);
        printf("学号 :%d\t",L->S[i].id);
        printf("成绩 :%d\n",L->S[i].sco);
    }
    
}

int pos_del_list(Sql_list *L,int index)         //删除数据
{
    if (L == NULL)
    {
        printf("表不存在\n");
        return -1;
    }
    if (L->len == 0)
    {
        printf("表为空\n");
        return -1;
    }
    if (index > L->len  || index < 0)
    {
        printf("参数非法\n");
        return -1;
    }
    for (int i = index; i < L->len; i++)
    {
        L->S[i] = L->S[i+1];
    }
    L->len--;
    return 0;
}

int insert(Sql_list *L,int index,Stu_t data)           //插入数据
{
    if (L == NULL)
    {
        printf("表不存在\n");
        return -1;
    }
    if (L->len == 0)
    {
        printf("表为空\n");
        return -1;
    }
    if (index > L->len  || index < 0)
    {
        printf("参数非法\n");
        return -1;
    }
    for (int i = L->len; i >= index; i--)
    {
        L->S[i+1] = L->S[i];
    }
    L->S[index] = data;
}